Delphi vs. C++Builder
Otázka od: Vlastimil Burian
12. 10. 2004 15:57
1. nejak nemuzu dojit na to jaxe v C++Builderu (6 Enterprise) daji zjistit
hranice ordinalnich typu jako je tomu v Delphi --> High & Low ..... ????
2. by me zajimalo jestli v C++ existuje zkraceny zapis jako je tom v Pascalu --
> With .... ????
3. hlavne poterrbuju vedet jestli existuje v C++ prikaz ekv. k Exit v Delphi
... ktery tedy ukonci provadeni procedury vyjma finally bloku ..... Goto se mi
moc nelibi ledaze by to bylo jedina moznost
diky
Odpovedá: p.sestak@corag.sk
12. 10. 2004 15:50
> 1. nejak nemuzu dojit na to jaxe v C++Builderu (6 Enterprise) daji
> zjistit hranice ordinalnich typu jako je tomu v Delphi --> High &
> Low ..... ????
pozri values.h
napr. MAXINT
>
> 2. by me zajimalo jestli v C++ existuje zkraceny zapis jako je tom v
> Pascalu --> With .... ????
nie neexistuje
>
> 3. hlavne poterrbuju vedet jestli existuje v C++ prikaz ekv. k Exit
> v Delphi ... ktery tedy ukonci provadeni procedury vyjma finally
> bloku ..... Goto se mi moc nelibi ledaze by to bylo jedina moznost
return;
Odpovedá: Vlastimil Burian
13. 10. 2004 9:35
> values.h
na tuhle jednotku sem prave dosel ale MAXINT neni to co potrebuju --- v
mnoha situacich je treba zjistit "na miste" horni ci dolni hranici typu a v
tom mi tech malo konstant nepomuze prave
Odpovedá: p.sestak@corag.sk
13. 10. 2004 9:46
> > values.h
> na tuhle jednotku sem prave dosel ale MAXINT neni to co potrebuju --- v
> mnoha situacich je treba zjistit "na miste" horni ci dolni hranici typu
a v
> tom mi tech malo konstant nepomuze prave
"na miste" pouzi MAXSHORT, MAXINT, MAXDOUBLE, MAXFLOAT, analogicky MIN.
Nechapem, preco sa to neda pouzit?
Existuje este jedna pomocka: \stl\_limits.h,
vyzaduje vsak aspon zakladne vedomosti o sablonach.
P.
Odpovedá: Vlastimil Burian
13. 10. 2004 12:17
> > values.h
-----------
> > v mnoha situacich je treba zjistit "na miste" horni ci dolni hranici
typu
> a v tom mi tech malo konstant nepomuze
----------------
> "na miste" pouzi MAXSHORT, MAXINT, MAXDOUBLE, MAXFLOAT, analogicky MIN.
---------------
ted momentalne sem potreboval jenom dynamicky zjistit horni hr. typu INT64
... je mi proti mysli pouzivat zbytecnou konstantu ktera stejne jaxem se
predtim dival ve values.h neni a zbytecne ji deklarovat ..... tady by to
jeste v pohode slo ale kdyz treba budu mit vyjmenovany typ tak budu chcit
docela casto ty hranice zjistit ... nebo treba hranice dynamickeho pole coz
v Delphi taky obstarava fce HIGH ... proste velice casto je to potreba a ja
porad nemuzu prijit na to jak to zjistit ... zadnou adekvatni fci v helpech
nemuzu najit ...
Odpovedá: Karel Kral
13. 10. 2004 12:32
Neni to dobre pouzit napriklad proto, ze
if MyVar < MaxInt
je zavisle na konkretnim typu a kdyz typ zmenis, musis rucne zmenit i
meze. Kdezto kdyz udelas promennou MyVar: SmallInt a pouzijes
if MyVar < High(MyVar)
funguje to, i kdyz zmenis MyVar na integer nebo cokoliv jineho.
> "na miste" pouzi MAXSHORT, MAXINT, MAXDOUBLE, MAXFLOAT, analogicky MIN.
> Nechapem, preco sa to neda pouzit?
> Existuje este jedna pomocka: \stl\_limits.h,
> vyzaduje vsak aspon zakladne vedomosti o sablonach.
> P.
--
______________________________________________________
Karel Kral, vedouci odd. IT / IT manager
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 547 235 000, 602 552 432, Fax: 547 231 203
E-Mail: mailto:kral@purus.cz, WWW: http://www.purus.cz
______________________________________________________
Odpovedá: p.sestak@corag.sk
13. 10. 2004 13:15
> ---------------
> ted momentalne sem potreboval jenom dynamicky zjistit horni hr. typu
INT64
> ... je mi proti mysli pouzivat zbytecnou konstantu ktera stejne jaxem se
> predtim dival ve values.h neni a zbytecne ji deklarovat ..... tady by to
> jeste v pohode slo ale kdyz treba budu mit vyjmenovany typ tak budu
chcit
> docela casto ty hranice zjistit ... nebo treba hranice dynamickeho pole
coz
> v Delphi taky obstarava fce HIGH ... proste velice casto je to potreba a
ja
> porad nemuzu prijit na to jak to zjistit ... zadnou adekvatni fci v
helpech
> nemuzu najit ...
zazracny operator sizeof().
toto som nasiel v helpe pre C++ od borlandu:
#include <stdio.h>
struct st {
char *name;
int age;
double height;
};
struct st St_Array[]= { /* AN ARRAY OF structs */
{ "Jr.", 4, 34.20 }, /* St_Array[0] */
{ "Suzie", 23, 69.75 }, /* St_Array[1] */
};
int main()
{
long double LD_Array[] = { 1.3, 501.09, 0.0007, 90.1, 17.08 };
//pocet prvkov enumu
printf("\nNumber of elements in LD_Array = %d",
sizeof(LD_Array) / sizeof(LD_Array[0]));
/**** THE NUMBER OF ELEMENTS IN THE St_Array. ****/
printf("\nSt_Array has %d elements",
sizeof(St_Array)/sizeof(St_Array[0]));
/**** THE NUMBER OF BYTES IN EACH St_Array ELEMENT. ****/
printf("\nSt_Array[0] = %d", sizeof(St_Array[0]));
/**** THE TOTAL NUMBER OF BYTES IN St_Array. ****/
printf("\nSt_Array=%d", sizeof(St_Array));
return 0;
}
na rozsah typov som nic ine okrem _limits.h nenasiel.
p.